#include <iostream>
#include <future>
#include <thread>
#include <memory>

int Add(int x,int y)
{
    return x+y;
}



int main()
{
    //1.实例化promise对象
    std::promise<int> p;

    //2.获取futrue
    auto res = p.get_future();

    //3.通过线程执行任务
    std::thread thr([&p](){
        int sum = Add(1,2); //调用函数
        p.set_value(sum);
    });

    //4.获取任务
    std::cout<<res.get()<<std::endl;

    //5.进行线程等待
    thr.join();


    return 0;
}